import java.util.HashMap;
import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User:何人亮
 * Date:2025-03-11
 * 22:46
 */
public class Test {
//    public static void main(String[] args) {
//        Scanner in = new Scanner(System.in);
//        // 注意 hasNext 和 hasNextLine 的区别
//        float f=in.nextFloat();
//        String s=in.next();
//        int ret=0;
//
//            ret+=20;
//
//        if(f>1){
//            ret+=(int)f-1;
//        }
//        if(f-(int)f>0&&f>1){
//            ret+=1;
//        }
//        if(s.equals("y")){
//            ret+=5;
//        }
//        System.out.println(ret);
//    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        // 注意 hasNext 和 hasNextLine 的区别
        int size1=in.nextInt();
        String str1=in.next(    );
        String str2=in.next();
        String[] s=new String[size1];
        int prev1=-1;
        int prev2=-1;
        int ret=Integer.MAX_VALUE;
        for(int i=0;i<size1;i++){
            s[i]=in.next();
        }
        for(int i=0;i<size1;i++){
            if(s[i].equals(str1)){
                prev1=i;
            }
            if(s[i].equals(str2)){
                prev2=i;
            }
            if(prev1!=-1&&prev2!=-1){
                ret=Math.min(Math.abs(prev2-prev1),ret);
            }
        }
        if(prev1!=-1&&prev2!=-1){
            System.out.println(ret);
        }else{
            System.out.println(-1);
        }

    }
    //动态规划，dp
//        public static void main(String[] args) {
//        Scanner in = new Scanner(System.in);
//        int n=in.nextInt();
//        int[] cost=new int[n];
//        int[] dp=new int[n+1];//到达i位置的最小花费
//        for(int i=0;i<n;i++){
//            cost[i]=in.nextInt();
//        }
//        for(int i=2;i<n+1;i++){
//            dp[i]=Math.min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
//        }
//        System.out.println(dp[n]);
//    }
}
